3D modelling

Openscad

Using openscad was rather easy because I feel like its less confusing to model an object through writing code instead of simply sketching... which is not a popular opinion.

The following details the procedure that I have followed into modelling a possible model for my final project. The code ended up to be a bit messy and could have been much shorter that what it currently is. I have used a manual on wikibooks on how to use the software.
https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/The_OpenSCAD_Language

I have faced some problems when using the difference command. An example of the problem faced is shown below, where the issue occurs when the two objects that are subtracted from each other start/end at the same point. The result is that the common start/end point will contain some residue from the original object. The solution to this issue was simple, all I did was to increase the size of the objects on the "minus" side of the difference by a small amount, which removes the residue.

Residue problem

Openscad7

In the example shown above, the two objects have the same starting and end points, so residue was left on the bottom and the top. In order to remove the bottom residue, I translated the object on the minus side of the equation by -0.1 on the z axis. To remove the top residue, I increased the height of the object on the minus side of the equation by 0.2. The figure below shows the result.

Openscad8


Possible final project design

I have designed the outer case of my final project, which is supposed to fit in a car's cup-holder. The design is parametric (but might require some minor tweaks later), and the scale is 1=1cm.

Openscad1Openscad2

Openscad3Openscad4

Openscad5


The final result

Openscad6

Code:
radius = 3.5;
radius2 = 3;
$fn=100;

difference(){
linear_extrude(height=5,twist=0) circle(radius,$fn=8);
    translate([0,0,0.5])
    linear_extrude(height=5,twist=0) circle(radius2);
}

translate([0,0,5])
difference(){
    linear_extrude(height=5,twist=0,angle=20)
circle(radius);
    translate([0,0,-0.5])
    linear_extrude(height=6,twist=0)
circle(radius2);
}

translate([0,0,12])
difference(){
linear_extrude(height=2) circle(r=4);

translate([0,0,-0.1])
linear_extrude(height=1) circle(r=3.5);

translate([0,1.6,0.5])
linear_extrude(height=1.6) square([3.6,1.2],true);

translate([-0.9,-1.1,0.5])
linear_extrude(height=1.6) square([3,1.28],true);

translate([1.8,-1,0.9])
linear_extrude(height=1.6) circle(r=0.3);

translate([-1,2.55,1.99])
linear_extrude(height=0.6) text("Speed",size=0.5,$fn=100);

translate([-1.7,-0.3,1.99])
linear_extrude(height=0.6) text("Limit",size=0.5,$fn=100);

translate([1.4,-0.3,1.99])
linear_extrude(height=0.6) text("RA",size=0.5,$fn=100);

}

FreeCAD

In FreeCAD, I have designed almost the same model as the one in openscad, but without the cup.

FreeCAD1 FreeCAD2

The final result

FreeCAD3

Download the file here.



Blender


For Blender, I have followed a tutorial on how to create a studio backdrop and rendered my design from openscad
https://www.youtube.com/watch?v=HKIihyNZbhk

The final result

Blender1

Blender2





2D modelling

For the 2D modelling part, I sketched the top view and side view of the cup on inkscape. The figures below demonstrate the result.

Inkscape1

Inkscape2

Download the side view file here.
Download the top view file here.